home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / p / pov / povlisti.ngs / slink.pov < prev    next >
Encoding:
Text File  |  1993-01-03  |  3.5 KB  |  222 lines

  1. // Persistence of Vision Raytracer
  2. // example of use with ANI.AWK to create a 20 segment "slinky"
  3. // which slinks along a checkered floor
  4. //
  5. #include "shapes.inc"
  6. #include "colors.inc"
  7. #include "textures.inc"
  8. #include "slink.inc"
  9.  
  10. #declare segment_texture = texture {
  11.         color Red
  12.         reflection 0
  13. }
  14. #declare segment= intersection {
  15.                         intersection { Disk_Y
  16.                         scale <10.0 1.0 10>
  17.                  }
  18.  
  19.                 quadric { Cylinder_Y
  20.                         scale <9.0 1.0 9.0>
  21.                         inverse
  22.                  }
  23.         }            
  24.  
  25. /* Put a VIEW_POINT here... */
  26.  
  27. camera {
  28.         location <xeye 30.0 -100>
  29.         up <0.0 1.0 0.0>
  30.         right <1.333 0.0 0.0>
  31.         look_at <xeye 30.0 0.0>
  32.  }
  33.  
  34. object {
  35.     light_source {< xeye 80 -180 >
  36.         colour White
  37.     }
  38. }
  39.  
  40. object { /* floor */
  41.     plane { <0.0 1.0 0.0> 0.0  }
  42.    
  43.          texture {
  44.               checker color Black color White
  45.               reflection 0
  46.           }
  47.         scale <20 1 20>
  48.         translate <0 -.5 0>
  49.  }
  50.  
  51. object {
  52.     plane { <0.0 0.0 1.0> 0.0  }
  53.    
  54.          texture {
  55.               color White 
  56.               reflection 0.2
  57.              scale <15.0 15.0 15.0>
  58.           }
  59.     translate <0.0 0.0 80.0>
  60.  }
  61.  
  62. object { intersection {segment}
  63.         texture {
  64.             segment_texture
  65.         }
  66.     rotate < 0 0 r1 >
  67.     translate < x1 y1 0 >
  68. }
  69.  
  70. object { intersection {segment}
  71.         texture {
  72.             segment_texture
  73.         }
  74.     rotate < 0 0 r2 >
  75.     translate < x2 y2 0 >
  76. }
  77.  
  78. object { intersection {segment}
  79.         texture {
  80.             segment_texture
  81.         }
  82.     rotate < 0 0 r3 >
  83.     translate < x3 y3 0 >
  84. }
  85.  
  86. object { intersection {segment}
  87.         texture {
  88.             segment_texture
  89.         }
  90.     rotate < 0 0 r4 >
  91.     translate < x4 y4 0 >
  92. }
  93.  
  94. object { intersection {segment}
  95.         texture {
  96.             segment_texture
  97.         }
  98.     rotate < 0 0 r5 >
  99.     translate < x5 y5 0 >
  100. }
  101.  
  102. object { intersection {segment}
  103.         texture {
  104.             segment_texture
  105.         }
  106.     rotate < 0 0 r6 >
  107.     translate < x6 y6 0 >
  108. }
  109.  
  110. object { intersection {segment}
  111.         texture {
  112.             segment_texture
  113.         }
  114.     rotate < 0 0 r7 >
  115.     translate < x7 y7 0 >
  116. }
  117.  
  118. object { intersection {segment}
  119.         texture {
  120.             segment_texture
  121.         }
  122.     rotate < 0 0 r8 >
  123.     translate < x8 y8 0 >
  124. }
  125.  
  126. object { intersection {segment}
  127.         texture {
  128.             segment_texture
  129.         }
  130.     rotate < 0 0 r9 >
  131.     translate < x9 y9 0 >
  132. }
  133.  
  134. object { intersection {segment}
  135.         texture {
  136.             segment_texture
  137.         }
  138.     rotate < 0 0 r10 >
  139.     translate < x10 y10 0 >
  140. }
  141.  
  142. object { intersection {segment}
  143.         texture {
  144.             segment_texture
  145.         }
  146.     rotate < 0 0 r11 >
  147.     translate < x11 y11 0 >
  148. }
  149.  
  150. object { intersection {segment}
  151.         texture {
  152.             segment_texture
  153.         }
  154.     rotate < 0 0 r12 >
  155.     translate < x12 y12 0 >
  156. }
  157.  
  158. object { intersection {segment}
  159.         texture {
  160.             segment_texture
  161.         }
  162.     rotate < 0 0 r13 >
  163.     translate < x13 y13 0 >
  164. }
  165.  
  166. object { intersection {segment}
  167.         texture {
  168.             segment_texture
  169.         }
  170.     rotate < 0 0 r14 >
  171.     translate < x14 y14 0 >
  172. }
  173.  
  174. object { intersection {segment}
  175.         texture {
  176.             segment_texture
  177.         }
  178.     rotate < 0 0 r15 >
  179.     translate < x15 y15 0 >
  180. }
  181.  
  182. object { intersection {segment}
  183.         texture {
  184.             segment_texture
  185.         }
  186.     rotate < 0 0 r16 >
  187.     translate < x16 y16 0 >
  188. }
  189.  
  190. object { intersection {segment}
  191.         texture {
  192.             segment_texture
  193.         }
  194.     rotate < 0 0 r17 >
  195.     translate < x17 y17 0 >
  196. }
  197.  
  198. object { intersection {segment}
  199.         texture {
  200.             segment_texture
  201.         }
  202.     rotate < 0 0 r18 >
  203.     translate < x18 y18 0 >
  204. }
  205.  
  206. object { intersection {segment}
  207.         texture {
  208.             segment_texture
  209.         }
  210.     rotate < 0 0 r19 >
  211.     translate < x19 y19 0 >
  212. }
  213.  
  214. object { intersection {segment}
  215.         texture {
  216.             segment_texture
  217.         }
  218.     rotate < 0 0 r20 >
  219.     translate < x20 y20 0 >
  220. }
  221.  
  222.